package com.ymttest.database.sharding.db.sharding.model;

import java.math.BigDecimal;
import java.util.Date;

public class UserRefundFundDetailPo {
    /**
     * id BIGINT(19) 必填<br>
     * 主键Id
     */
    private Long id;

    /**
     * order_id BIGINT(19) 必填<br>
     * 订单号
     */
    private Long orderId;

    /**
     * biz_no VARCHAR(50) 必填<br>
     * 退款业务单号
     */
    private String bizNo;

    /**
     * biz_type INTEGER(10) 必填<br>
     * 1-退货退款 2-取消订单 3-批量取消 4-快速退款
     */
    private Integer bizType;

    /**
     * account_amount DECIMAL(18,2) 必填<br>
     * 用户退款金额
     */
    private BigDecimal accountAmount;

    /**
     * thirdparty_amount DECIMAL(18,2) 必填<br>
     * 用户第三方退款金额
     */
    private BigDecimal thirdpartyAmount;

    /**
     * thirdparty_discount DECIMAL(18,2) 默认值[0.00] 必填<br>
     * 退回第三方优惠金额
     */
    private BigDecimal thirdpartyDiscount;

    /**
     * payment_id BIGINT(19) 必填<br>
     * 退款交易号（等于 支付交易号）
     */
    private Long paymentId;

    /**
     * account_refund_status INTEGER(10) 必填<br>
     * 1-初始状态  2-退款完成 3-提交网关 4-退款失败
     */
    private Integer accountRefundStatus;

    /**
     * thirdparty_refund_status INTEGER(10) 必填<br>
     * 1-初始状态  2-退款完成 3-提交网关 4-退款失败
     */
    private Integer thirdpartyRefundStatus;

    /**
     * retry_times INTEGER(10) 默认值[0] 必填<br>
     * 执行次数
     */
    private Integer retryTimes;

    /**
     * memo VARCHAR(100)<br>
     * 记录扣款返回retcode
     */
    private String memo;

    /**
     * account_refund_time TIMESTAMP(19)<br>
     * 余额退款完成时间
     */
    private Date accountRefundTime;

    /**
     * thirdparty_refund_time TIMESTAMP(19)<br>
     * 第三方退款完成时间
     */
    private Date thirdpartyRefundTime;

    /**
     * add_time TIMESTAMP(19) 默认值[CURRENT_TIMESTAMP] 必填<br>
     * 新增时间
     */
    private Date addTime;

    /**
     * update_time TIMESTAMP(19) 默认值[CURRENT_TIMESTAMP] 必填<br>
     * 更新时间
     */
    private Date updateTime;

    /**
     * id BIGINT(19) 必填<br>
     * 获得 主键Id
     */
    public Long getId() {
        return id;
    }

    /**
     * id BIGINT(19) 必填<br>
     * 设置 主键Id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * order_id BIGINT(19) 必填<br>
     * 获得 订单号
     */
    public Long getOrderId() {
        return orderId;
    }

    /**
     * order_id BIGINT(19) 必填<br>
     * 设置 订单号
     */
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    /**
     * biz_no VARCHAR(50) 必填<br>
     * 获得 退款业务单号
     */
    public String getBizNo() {
        return bizNo;
    }

    /**
     * biz_no VARCHAR(50) 必填<br>
     * 设置 退款业务单号
     */
    public void setBizNo(String bizNo) {
        this.bizNo = bizNo == null ? null : bizNo.trim();
    }

    /**
     * biz_type INTEGER(10) 必填<br>
     * 获得 1-退货退款 2-取消订单 3-批量取消 4-快速退款
     */
    public Integer getBizType() {
        return bizType;
    }

    /**
     * biz_type INTEGER(10) 必填<br>
     * 设置 1-退货退款 2-取消订单 3-批量取消 4-快速退款
     */
    public void setBizType(Integer bizType) {
        this.bizType = bizType;
    }

    /**
     * account_amount DECIMAL(18,2) 必填<br>
     * 获得 用户退款金额
     */
    public BigDecimal getAccountAmount() {
        return accountAmount;
    }

    /**
     * account_amount DECIMAL(18,2) 必填<br>
     * 设置 用户退款金额
     */
    public void setAccountAmount(BigDecimal accountAmount) {
        this.accountAmount = accountAmount;
    }

    /**
     * thirdparty_amount DECIMAL(18,2) 必填<br>
     * 获得 用户第三方退款金额
     */
    public BigDecimal getThirdpartyAmount() {
        return thirdpartyAmount;
    }

    /**
     * thirdparty_amount DECIMAL(18,2) 必填<br>
     * 设置 用户第三方退款金额
     */
    public void setThirdpartyAmount(BigDecimal thirdpartyAmount) {
        this.thirdpartyAmount = thirdpartyAmount;
    }

    /**
     * thirdparty_discount DECIMAL(18,2) 默认值[0.00] 必填<br>
     * 获得 退回第三方优惠金额
     */
    public BigDecimal getThirdpartyDiscount() {
        return thirdpartyDiscount;
    }

    /**
     * thirdparty_discount DECIMAL(18,2) 默认值[0.00] 必填<br>
     * 设置 退回第三方优惠金额
     */
    public void setThirdpartyDiscount(BigDecimal thirdpartyDiscount) {
        this.thirdpartyDiscount = thirdpartyDiscount;
    }

    /**
     * payment_id BIGINT(19) 必填<br>
     * 获得 退款交易号（等于 支付交易号）
     */
    public Long getPaymentId() {
        return paymentId;
    }

    /**
     * payment_id BIGINT(19) 必填<br>
     * 设置 退款交易号（等于 支付交易号）
     */
    public void setPaymentId(Long paymentId) {
        this.paymentId = paymentId;
    }

    /**
     * account_refund_status INTEGER(10) 必填<br>
     * 获得 1-初始状态  2-退款完成 3-提交网关 4-退款失败
     */
    public Integer getAccountRefundStatus() {
        return accountRefundStatus;
    }

    /**
     * account_refund_status INTEGER(10) 必填<br>
     * 设置 1-初始状态  2-退款完成 3-提交网关 4-退款失败
     */
    public void setAccountRefundStatus(Integer accountRefundStatus) {
        this.accountRefundStatus = accountRefundStatus;
    }

    /**
     * thirdparty_refund_status INTEGER(10) 必填<br>
     * 获得 1-初始状态  2-退款完成 3-提交网关 4-退款失败
     */
    public Integer getThirdpartyRefundStatus() {
        return thirdpartyRefundStatus;
    }

    /**
     * thirdparty_refund_status INTEGER(10) 必填<br>
     * 设置 1-初始状态  2-退款完成 3-提交网关 4-退款失败
     */
    public void setThirdpartyRefundStatus(Integer thirdpartyRefundStatus) {
        this.thirdpartyRefundStatus = thirdpartyRefundStatus;
    }

    /**
     * retry_times INTEGER(10) 默认值[0] 必填<br>
     * 获得 执行次数
     */
    public Integer getRetryTimes() {
        return retryTimes;
    }

    /**
     * retry_times INTEGER(10) 默认值[0] 必填<br>
     * 设置 执行次数
     */
    public void setRetryTimes(Integer retryTimes) {
        this.retryTimes = retryTimes;
    }

    /**
     * memo VARCHAR(100)<br>
     * 获得 记录扣款返回retcode
     */
    public String getMemo() {
        return memo;
    }

    /**
     * memo VARCHAR(100)<br>
     * 设置 记录扣款返回retcode
     */
    public void setMemo(String memo) {
        this.memo = memo == null ? null : memo.trim();
    }

    /**
     * account_refund_time TIMESTAMP(19)<br>
     * 获得 余额退款完成时间
     */
    public Date getAccountRefundTime() {
        return accountRefundTime;
    }

    /**
     * account_refund_time TIMESTAMP(19)<br>
     * 设置 余额退款完成时间
     */
    public void setAccountRefundTime(Date accountRefundTime) {
        this.accountRefundTime = accountRefundTime;
    }

    /**
     * thirdparty_refund_time TIMESTAMP(19)<br>
     * 获得 第三方退款完成时间
     */
    public Date getThirdpartyRefundTime() {
        return thirdpartyRefundTime;
    }

    /**
     * thirdparty_refund_time TIMESTAMP(19)<br>
     * 设置 第三方退款完成时间
     */
    public void setThirdpartyRefundTime(Date thirdpartyRefundTime) {
        this.thirdpartyRefundTime = thirdpartyRefundTime;
    }

    /**
     * add_time TIMESTAMP(19) 默认值[CURRENT_TIMESTAMP] 必填<br>
     * 获得 新增时间
     */
    public Date getAddTime() {
        return addTime;
    }

    /**
     * add_time TIMESTAMP(19) 默认值[CURRENT_TIMESTAMP] 必填<br>
     * 设置 新增时间
     */
    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    /**
     * update_time TIMESTAMP(19) 默认值[CURRENT_TIMESTAMP] 必填<br>
     * 获得 更新时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * update_time TIMESTAMP(19) 默认值[CURRENT_TIMESTAMP] 必填<br>
     * 设置 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", orderId=").append(orderId);
        sb.append(", bizNo=").append(bizNo);
        sb.append(", bizType=").append(bizType);
        sb.append(", accountAmount=").append(accountAmount);
        sb.append(", thirdpartyAmount=").append(thirdpartyAmount);
        sb.append(", thirdpartyDiscount=").append(thirdpartyDiscount);
        sb.append(", paymentId=").append(paymentId);
        sb.append(", accountRefundStatus=").append(accountRefundStatus);
        sb.append(", thirdpartyRefundStatus=").append(thirdpartyRefundStatus);
        sb.append(", retryTimes=").append(retryTimes);
        sb.append(", memo=").append(memo);
        sb.append(", accountRefundTime=").append(accountRefundTime);
        sb.append(", thirdpartyRefundTime=").append(thirdpartyRefundTime);
        sb.append(", addTime=").append(addTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append("]");
        return sb.toString();
    }
}